Netopia Payments
The Netopia Payments integration lets you collect payments directly in your DRUID conversational flows. With this integration, your chatbot can guide users through a seamless payment experience—from capturing billing and shipping details to generating a secure payment link through Netopia Payments.
When users reach the payment step in a conversation, the bot prompts them to enter the required details (such as billing and shipping information, depending on your flow configuration). Once all necessary data is provided, the bot automatically sends the user a payment link generated by Netopia. Users can then complete the transaction securely through the Netopia payment gateway.
This integration streamlines your sales or billing processes by combining conversational engagement with fast, secure online payments—all within the chat interface.
Prerequisites
Before you begin, make sure you have the following:
- An active merchant account with Netopia Payments. Having an active account means you’ve already signed a contract with Netopia and completed the required onboarding steps.
- A configured Point of Sale (POS) in the Netopia Payments Portal for your e-commerce solution, linked to your domain.
Integrating Netopia Payments in your conversations
This section explains how to configure Netopia Payments in your conversational flows.
Step 1. Generate an API Key for your Netopia Payments profile
- Go to Netopia Payments admin console and log in.
- To generate an API Key for a Sandbox environment, click Sandbox on the main menu.
- In the top-right corner, click on the profile icon and select Security.
- Enter a key name, then click GENERATE KEY.
- Copy the API key value as you will need it to configure the payment app in the DRUID Portal.
The API key page appears.
Step 2. Create a Netopia Payments app
To configure a payment app in DRUID Portal:
- Go to Solution Contents > Apps.
- In the top-right corner, click Create App and select Payment.
- In the Code field, enter a unique name for your app.
- From the NETOPIA Payment Environment drop-down, select the environment type: Sandbox or Live.
- In the API Key field, enter the API key you generated at Step 1.
- In the POS Signature field, enter the Signature generated for your POS in the Netopia Payments admin console. To get the Signature, follow these steps:
- Go to Netopia Payments admin console and log in.
- To view POS details for the sandbox environment, click Sandbox on the main menu, then in the sandbox environment, click Point of sale on the main menu.
- Next to your e-commerce provider, click the Actions icon (⋮) and select Technical settings.
- Copy the Signature.
- (Optional) Update the following settings:
- Default currency: The default value is RON. You can change it here; this setting overrides the default.
- Default language: The default is Romanian. You can change it using the ISO 3166-1 numeric code for the desired country.
- Save, then publish the app.
The app configuration page appears.
Step 3. Configure the payment flow
Add a new flow for payments and configure it as follows:
- Add prompt steps to capture the information provided in the table below. Pay attention to the entity fields you need to enter in Input mapping for each prompt step.
- From the Flow Palette, add the Payment flow step and click the Configuration icon.
- Click on the General section.
- Enter a Step name.
- From the Connection Code drop-down, select the Netopia Payments app you created at Step 2.
- In the Step message field, enter a message that includes the entity field [[ConversationInfo]].Payment.Url. This entity field stores the Netopia payment URL that users access to complete their payment.
- Save the step.
Information type | Required | Ask the user for | Info type | Input mapping |
---|---|---|---|---|
Billing information | Yes | amount | decimal | [[ConversationInfo]].Payment.Amount |
currency | string | [[ConversationInfo]].Payment.Currency | ||
string | [[ConversationInfo]].Payment.Email | |||
phone | string | [[ConversationInfo]].Payment.Phone | ||
first name | string | [[ConversationInfo]].Payment.FirstName | ||
last name | string | [[ConversationInfo]].Payment.LastName | ||
city | string | [[ConversationInfo]].Payment.City | ||
country |
integer ISO 3166-1 numeric code for the country |
[[ConversationInfo]].Payment.Country | ||
state | string | [[ConversationInfo]].Payment.State | ||
postal code | string | [[ConversationInfo]].Payment.ZipCode | ||
details | string | [[ConversationInfo]].Payment.Details | ||
Shipping information |
No Note: If you don’t collect shipping information from the user, the billing information is automatically used as the shipping information.
|
string | [[ConversationInfo]].PaymentShipping.Email | |
phone | string | [[ConversationInfo]].PaymentShipping.Phone | ||
first name | string | [[ConversationInfo]].PaymentShipping.FirstName | ||
last name | string | [[ConversationInfo]].PaymentShipping.LastName | ||
city | string | [[ConversationInfo]].PaymentShipping.City | ||
country | string | [[ConversationInfo]].PaymentShipping.Country | ||
state | string | [[ConversationInfo]].PaymentShipping.State | ||
postal code |
integer ISO 3166-1 numeric code for the country |
[[ConversationInfo]].PaymentShipping.ZipCode | ||
details | string | [[ConversationInfo]].PaymentShipping.Details |
For example, 'To proceed with the payment, click this link: [[ConversationInfo]].Payment.Url, and follow the on-screen instructions'.
When the conversation reaches the payment step, the system automatically validates all payment information provided by the user in the prompt steps. If any required information is missing or invalid, an error message is displayed until all necessary details are provided.
This validation helps conversation authors properly configure and test their payment flows before deploying the bot to production, ensuring that all required data is captured correctly.